FROM python:3.11-slim

# 设置工作目录
WORKDIR /app

# 安装系统依赖（用于视频处理）
RUN apt-get update && apt-get install -y \
    ffmpeg \
    libgl1-mesa-glx \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# 复制依赖文件
COPY pyproject.toml ./

# 安装 Python 依赖
RUN pip install --no-cache-dir -e .[all]

# 复制应用代码
COPY . .

# 创建存储目录
RUN mkdir -p storage

# 暴露端口
EXPOSE 8000 8001

# 设置环境变量
ENV PYTHONPATH=/app
ENV API_HOST=0.0.0.0
ENV API_PORT=8000
ENV MCP_PORT=8001

# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
    CMD python -c "import requests; requests.get('http://localhost:8000/health')" || exit 1

# 默认启动 API 服务器
CMD ["python", "-m", "md2ppt", "--api"]